/**
 * 用户提现映射器接口
 * 继承自CoreMapper，专注于处理用户提现相关的数据库操作
 */
package co.yixiang.modules.activity.service.mapper;

import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.activity.domain.YxUserExtract;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

/**
 * 用户提现映射器接口
 * 继承自CoreMapper，专注于处理用户提现相关的数据库操作
 */
@Repository
public interface YxUserExtractMapper extends CoreMapper<YxUserExtract> {
    /**
     * 计算用户已批准提现的总金额
     * 该方法通过查询数据库中指定用户（uid）的所有已批准（status=1）的提现记录，
     * 并计算这些记录的提现金额（extract_price）总和，如果不存在则返回0
     *
     * @param uid 用户ID，用于指定查询的用户
     * @return double 返回用户已批准提现的总金额
     */
    @Select("select IFNULL(sum(extract_price),0) from yx_user_extract " +
            "where status=1 " +
            "and uid=#{uid}")
    double sumPrice(@Param("uid") Long uid);
}
